2023/12/231313字符
ES6 模块化
入口文件引入:
<script src='./入口文件.js' type='module'></script>
基本导出方式:
export const fn = () => console.log('hello');
const arr = [1, 2, 3, 4, 5];
const num = 10;
// 名称替换
export { arr, num as number }
导出文件尽量用 const,防止后续文件再次使用该名称
基本导入方式:
import { arr, number } from './导出文件.js'; // ES6 模块化规范:导入必须写在文件最开头
import * as util from './导出文件.js'; // 全部导入
import './init.js'; // 导入执行
默认导出方式:
export default a;
export default { // 默认导出一个文件只能有一个 export default
fn () {
console.log('hello');
}
}
默认导入方式:
import util from './导出文件.js';
ES6 模块化 VS CommonJS
CommonJS:依赖延迟声明
- 优点:某些时候可以提高效率,较为灵活(即用即导入)
- 缺点:可读性较差
ES6 模块化:预声明
- 优点:可读性好
- 缺点:效率较低
node 强制使用 ES 模块化
- 后缀名改为 .mjs
- 最近的 package.js 文件 type 值改为 'module'